home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / dviware / dtl / tripvdu.tex < prev   
Text File  |  1992-09-04  |  9KB  |  280 lines

  1. % TeX source file for creating TRIPVDU.DVI, a torture file for DVItoVDU
  2. % (using the same philosophy as Donald Knuth's torture test for TeX).
  3.  
  4. \nopagenumbers
  5. \topskip 0pt
  6. \parindent 0pt
  7. \parskip 0pt
  8.  
  9. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  10. % DVI page 1
  11. % This page is completely empty but has some \special stuff.
  12.  
  13. \message{Empty page.}
  14. \null
  15. \special{DVItoVDU should warn user that it is ignoring this stuff.}
  16. \special{And this.}
  17. \vfil\eject
  18.  
  19. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  20. % DVI page 2
  21. % This page has 1 black pixel at (0,0).
  22.  
  23. \message{1 black pixel at (0,0).}
  24. \hrule height 1sp width 1sp depth 0sp
  25. \vfil\eject
  26.  
  27. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  28. % DVI page 3
  29. % This page will fill an A4 sheet with black pixels, assuming A4 paper is
  30. % 8.3in by 11.7in and (0,0) is 1in from the top and left edges.
  31.  
  32. \message{A4 sheet full of black pixels.}
  33. {% change page size and location temporarily
  34. \hsize 10in
  35. \vsize 12in
  36. \hoffset -1in
  37. \voffset -1in
  38. % Because ref pts of rules are at BOTTOM left corner we first need to output
  39. % a rule that will guarantee Minv = -1in, then output the large rule with
  40. % slightly less than A4 height.
  41. \hrule height 1sp      width 8.299in depth 0sp
  42. \hrule height 11.695in width 8.299in depth 0sp
  43. \vfil\eject
  44.  
  45. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  46. % DVI page 4
  47. % This page is 1 pixel wider than page 3.
  48. % DVItoVDU should detect that page is too wide for A4 paper.
  49.  
  50. \message{As above but 1 pixel too wide.}
  51. \hrule height 1sp      width 8.301in depth 0sp
  52. \hrule height 11.695in width 8.301in depth 0sp
  53. \vfil\eject
  54.  
  55. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  56. % DVI page 5
  57. % This page is 1 pixel longer than page 3.
  58. % DVItoVDU should detect that page is too low for A4 paper.
  59.  
  60. \message{As above but 1 pixel too low.}
  61. \hrule height 11.701in width 8.299in depth 0sp
  62. \vfil\eject
  63.  
  64. }% reset page size and location
  65.  
  66. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  67. % DVI page 6
  68. % This page has a rulelist with a full ruletable (= 300 rules).
  69. % Note that DVItoVDU does not impose any limits
  70. % on the number of rules or characters in a page.  Pages 6 to 9
  71. % test the list manipulating code in DVIReader and DVItoVDU.
  72.  
  73. \message{Page with ruletablesize rules.}
  74. \newcount\temp
  75. \temp=300
  76. \loop\ifnum\temp>0
  77.    \hrule height 1sp width \hsize   % 1 pixel high
  78.    \vfil
  79.    \advance\temp by -1
  80. \repeat
  81. \vfil\eject
  82.  
  83. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  84. % DVI page 7
  85. % This page has ruletablesize+1 rules (so rulelist has 2 nodes).
  86.  
  87. \message{Page with ruletablesize+1 rules.}
  88. \temp=301
  89. \loop\ifnum\temp>0
  90.    \hrule height 1sp width \hsize   % 1 pixel high
  91.    \vfil
  92.    \advance\temp by -1
  93. \repeat
  94. \vfil\eject
  95.  
  96. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  97. % DVI page 8
  98. % This page has a charlist with a full chartable (= 3000 characters).
  99.  
  100. \message{Page with chartablesize characters from one font.}
  101. \font\small=cmr5
  102. {\small \offinterlineskip
  103.  \temp=30
  104.  \loop\ifnum\temp>0
  105.     \leftline{iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
  106.               iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii} % 100 chars
  107.     \advance\temp by -1
  108.  \repeat
  109. }
  110. \vfil\eject
  111.  
  112. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  113. % DVI page 9
  114. % This page has chartablesize+1 characters (so charlist has 2 nodes).
  115.  
  116. \message{Page with chartablesize+1 characters from one font.}
  117. {\small \offinterlineskip
  118.  \temp=30
  119.  \loop\ifnum\temp>0
  120.     \leftline{iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
  121.               iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii} % 100 chars
  122.     \advance\temp by -1
  123.  \repeat
  124.  \leftline{i}                      % the extra character
  125. }
  126. \vfil\eject
  127.  
  128. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  129. % DVI page 10
  130.  
  131. \message{Multiple TeX page counters.}
  132. \footline={\hss\tenrm\folio\hss}   % turn on page numbers
  133. \pageno=0
  134. \count1=1 \count2=2 \count3=3 \count4=4  \count9=9
  135. \noindent
  136. This is \TeX\ page [0.1.2.3.4.....9].
  137. \vfil\eject
  138.  
  139. \count1=0 \count2=0 \count3=0 \count4=0  \count9=0   % reset TeX counters
  140.  
  141. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  142. % DVI page 11
  143.  
  144. \message{Negative TeX page.}
  145. \pageno=-11
  146. \noindent
  147. This is \TeX\ page [-11].
  148. \vfil\eject
  149.  
  150. \pageno=12         % DVI page = TeX page again
  151. \nopagenumbers     % turn off page numbers again
  152.  
  153. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  154. % DVI page 12
  155. % This page has characters from many fonts.
  156. % Note that the page is off the right edge of A4 paper.
  157.  
  158. \message{Page with characters from many fonts.}
  159. % avoid redefining plain TeX's \i, \j etc.
  160. \font\Fb=cmr5
  161. \font\Fc=cmr5 scaled\magstep5
  162. \font\Fe=cmr10 scaled\magstep5
  163. \font\Fg=cmbx10
  164. \font\Fh=cmbx10 scaled\magstep5
  165. \font\Fj=cmsl10
  166. \font\Fk=cmsl10 scaled\magstep5
  167. \font\Fm=cmtt10
  168. \font\Fn=cmtt10 scaled\magstep5
  169. \font\Fo=cmss10
  170. \font\Fp=cmcsc10
  171. \font\Fq=cmdunh10
  172.  
  173. \leftline{\Fb These characters are from CMR5 at mag 1000.}
  174. \leftline{\Fc These characters are from CMR5 at mag 2488.}
  175. \leftline{\tenrm These characters are from CMR10 at mag 1000.}
  176. \leftline{\Fe These characters are from CMR10 at mag 2488.}
  177. \leftline{\Fg These characters are from CMBX10 at mag 1000.}
  178. \leftline{\Fh These characters are from CMBX10 at mag 2488.}
  179. \leftline{\Fj These characters are from CMSL10 at mag 1000.}
  180. \leftline{\Fk These characters are from CMSL10 at mag 2488.}
  181. \leftline{\Fm These characters are from CMTT10 at mag 1000.}
  182. \leftline{\Fn These characters are from CMTT10 at mag 2488.}
  183. \leftline{\Fo These characters are from CMSS10 at mag 1000.}
  184. \leftline{\Fp These characters are from CMCSC10 at mag 1000.}
  185. \leftline{\Fq These characters are from CMDUNH10 at mag 1000.}
  186. \vfil\eject
  187.  
  188. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  189. % DVI page 13
  190. % This page has characters from many fonts, some of which have no corresponding
  191. % PXL file.  DVItoVDU should warn user about non-existent font files and
  192. % continue as best it can by loading dummy font info.
  193. % Note that the page is off the right edge of A4 paper.
  194.  
  195. \message{Page with characters from fonts at unknown magnifications.}
  196. % PXL files do not exist at the requested magnifications:
  197. \font\Fr=cmr5 scaled 500
  198. \font\Fs=cmr5 scaled 3000
  199. \font\Ft=cmr10 scaled 200
  200. \font\Fu=cmr10 scaled 5000
  201. \font\Fv=cmsl10 scaled 49
  202. \font\Fw=cmsl10 scaled 10000
  203.  
  204. \leftline{\Fr CMR5 at mag 500 does not exist.}
  205. \leftline{\Fb These characters are from CMR5 at mag 1000.}
  206. \leftline{\Fs CMR5 at mag 3000 does not exist.}
  207. \leftline{\Ft CMR10 at mag 200 does not exist.}
  208. \leftline{\tenrm These characters are from CMR10 at mag 1000.}
  209. \leftline{\Fu CMR10 at mag 5000 does not exist.}
  210. \leftline{\Fv CMSL10 at mag 49 does not exist.}
  211. \leftline{\Fj These characters are from CMSL10 at mag 1000.}
  212. \leftline{\Fw CMSL10 at mag 10000 does not exist.}
  213. \vfil\eject
  214.  
  215. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  216. % DVI page 14
  217. % This page has a paragraph illustrating most of the characters from the
  218. % standard roman TeX text font.
  219.  
  220. \message{Standard paragraph.}
  221. \rm
  222. Our task is to create a paragraph illustrating what a typical piece of text
  223. looks like in the standard \TeX\ font.  It should be stressed that not all
  224. \TeX\ fonts can be used for typesetting text.  We need to show most of the
  225. characters in this font---for instance, something like ``the quick brown fox
  226. jumps over a lazy dog'' would use all the lower-case letters.  Hmmm \dots\
  227. how about ``THE QUICK BROWN FOX JUMPS OVER 9876543210 LAZY DOGS'' to make
  228. sure we show all the upper-case letters and digits?  Such a paragraph would
  229. hardly be typical!  Then there's ligatures (try and fit in words like
  230. fluffy, waffle, firefly, difficult) and examples of kerning (boxer, cooked,
  231. vowel).  Not to mention the various accents and other special letters:
  232. prot\'eg\'e, r\^ole, na\"\i ve, \AE sop's \OE vres en fran\c cais.
  233. But how do we put all this stuff into a paragraph that makes sense!?
  234. \vfil\eject
  235.  
  236. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  237. % DVI page 15
  238.  
  239. \message{Page in bottom half of A4 paper.}
  240. \null\vfil
  241. \centerline{Page in bottom half of A4 paper.}
  242. \eject
  243.  
  244. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  245. % DVI page 16
  246.  
  247. \message{Page completely above left of A4 paper.}
  248. \voffset -3in
  249. \hoffset -9in
  250. \leftline{Page completely above left of A4 paper.}
  251. \vfil\eject
  252.  
  253. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  254. % DVI page 17
  255.  
  256. \message{Page completely below right of A4 paper.}
  257. \voffset 3in
  258. \hoffset 9in
  259. \null\vfil
  260. \rightline{Page completely below right of A4 paper.}
  261. \eject
  262.  
  263. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  264. % DVI page 18
  265.  
  266. \message{Page beyond all edges of A4 paper.}
  267. \voffset -3in
  268. \hoffset -3in
  269. \vsize 15in
  270. \hsize 15in
  271. \line{Page beyond all edges of A4 paper.\hfil
  272.       Page beyond all edges of A4 paper.}
  273. \vfil
  274. \line{Page beyond all edges of A4 paper.\hfil
  275.       Page beyond all edges of A4 paper.}
  276. \eject
  277. \voffset 0in \hoffset 0in       % offsets back to normal
  278.  
  279. \bye
  280.